package com.dd.cloud.user.DTO.hst;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 和顺堂药房获取处方详细信息返回data业务数据
 * @Author: czg
 * @Date: 2023/11/6 16:03
 * @Version: 1.0.0
 */
@Data
public class HstPresDetailResDTO {

    /**
     * 订单号
     */
    private String order_no;

    /**
     * 机构订单号
     */
    private String inst_order_no;

    /**
     * 取消订单状态
     */
    private String is_cancel;

    /**
     * 支付url
     */
    private String pay_url;

    /**
     * 支付状态
     */
    private Integer payment_status;

    /**
     * 小程序跳转
     */
    private String wx_navigate;

    /**
     * 详情
     */
    private List<Detail> details = new ArrayList<>();


    /**
     * 详情
     */
    @Data
    public static class Detail{

        /**
         * 处方编号
         */
        private String pres_code;

        /**
         * 流程列表
         */
        private List<Process> process_list = new ArrayList<>();

        /**
         * 快递物流信息
         */
        private List<Express> express_info;

        /**
         * 配送信息
         */
        private Delivery delivery_info;

    }

    /**
     * 流程列表
     */
    @Data
    public static class Process{

        /**
         * 流程状态编码
         */
        private String record_code;

        /**
         * 流程状态名称
         */
        private String record_code_name;

        /**
         * 流程时间
         */
        private String create_datetime;

        /**
         * 流程时间戳
         */
        private Integer create_time;

    }

    /**
     * 物流列表
     */
    @Data
    public static class Express{

        /**
         * 消息体
         */
        private String message;

        /**
         * 单号
         */
        private String nu;

        /**
         * 是否签收标记
         */
        private String ischeck;

        /**
         * 快递公司编码
         */
        private Integer com;

        /**
         * 通讯编码
         */
        private String status;

        /**
         * 快递状态
         */
        private String state;

        /**
         * 明细标记
         */
        private String condition;

        /**
         * 快递最新查询结果
         */
        private ExpressData data;

    }

    /**
     * 物流Data
     */
    @Data
    public static class ExpressData{

        /**
         * 时间
         */
        private String time;

        /**
         * 内容
         */
        private String context;

        /**
         * 格式后时间
         */
        private String ftime;

        /**
         * 行政区域编码
         */
        private String areaCode;

        /**
         * 行政区域名称
         */
        private String areaName;

        /**
         * 状态名称
         */
        private String status;
    }


    /**
     * 配送地址
     */
    @Data
    public static class Delivery{

        /**
         * 省
         */
        private String consignee_province_name;

        /**
         * 市
         */
        private String consignee_city_name;

        /**
         * 区
         */
        private String consignee_area_name;

        /**
         * 详细地址
         */
        private String consignee_address;

        /**
         * 收件人电话
         */
        private String consignee_tel;

        /**
         * 收件人姓名
         */
        private String consignee_name;
    }
}
